include $(TOPDIR)/rules.mk
PKG_NAME:=libyaml-cpp
-PKG_VERSION:=0.7.0
+PKG_VERSION:=0.8.0
PKG_RELEASE:=1
-PKG_SOURCE:=yaml-cpp-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://codeload.github.com/jbeder/yaml-cpp/tar.gz/yaml-cpp-$(PKG_VERSION)?
-PKG_HASH:=43e6a9fcb146ad871515f0d0873947e5d497a1c9c60c58cb102a97b47208b7c3
-PKG_BUILD_DIR:=$(BUILD_DIR)/yaml-cpp-yaml-cpp-$(PKG_VERSION)
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/jbeder/yaml-cpp
+PKG_SOURCE_VERSION:=$(PKG_VERSION)
+PKG_MIRROR_HASH:=b81c7d39efa379a52c4cd7a6ee00e21b546e26284a44aa6d4b836e339c655803
PKG_LICENSE:=MIT
TITLE:=libyaml-cpp
URL:=https://github.com/jbeder/yaml-cpp
DEPENDS:=+libstdcpp
- ABI_VERSION:=0.7
+ ABI_VERSION:=0.8
endef
define Package/libyaml-cpp/description
--- /dev/null
+From 7b469b4220f96fb3d036cf68cd7bd30bd39e61d2 Mon Sep 17 00:00:00 2001
+Date: Wed, 14 Aug 2024 21:02:32 -0400
+Subject: [PATCH] emitterutils: Explicitly include <cstdint>
+
+GCC 15 will no longer include it by default, resulting in build
+failures in projects that do not explicitly include it.
+
+Error:
+src/emitterutils.cpp:221:11: error: 'uint16_t' was not declared in this scope
+ 221 | std::pair<uint16_t, uint16_t> EncodeUTF16SurrogatePair(int codePoint) {
+ | ^~~~~~~~
+src/emitterutils.cpp:13:1: note: 'uint16_t' is defined in header '<cstdint>';
+this is probably fixable by adding '#include <cstdint>'
+ 12 | #include "yaml-cpp/null.h"
+ +++ |+#include <cstdint>
+ 13 | #include "yaml-cpp/ostream_wrapper.h"
+
+Tests pass.
+
+Closes: #1307
+See-also: https://gcc.gnu.org/pipermail/gcc-cvs/2024-August/407124.html
+See-also: https://bugs.gentoo.org/937412
+---
+ src/emitterutils.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/src/emitterutils.cpp
++++ b/src/emitterutils.cpp
+@@ -1,4 +1,5 @@
+ #include <algorithm>
++#include <cstdint>
+ #include <iomanip>
+ #include <sstream>
+
+++ /dev/null
-From 78f338e4ee69bb00fb37faf50f448eeedc8b824c Mon Sep 17 00:00:00 2001
-Date: Tue, 13 Oct 2020 11:19:57 +0200
-Subject: [PATCH] Adds assert to enable compilation with libcxx+gcc
-
-Somehow this instantiates a template properly otherwise the build fails
----
- include/yaml-cpp/node/iterator.h | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/include/yaml-cpp/node/iterator.h
-+++ b/include/yaml-cpp/node/iterator.h
-@@ -15,6 +15,8 @@
- #include <utility>
- #include <vector>
-
-+static_assert(std::is_constructible<YAML::Node, const YAML::Node&>::value, "Node must be copy constructable");
-+
- namespace YAML {
- namespace detail {
- struct iterator_value : public Node, std::pair<Node, Node> {